package com.jr.service;

import com.github.pagehelper.PageInfo;
import com.jr.pojo.ParkingSpaces;
import com.jr.vo.ParkingSpacesParkingRecordsVehicles;

import java.util.List;
import java.util.Map;

/**
 * 停车场信息服务接口
 */
public interface ParkingService {
    
    /**
     * 模糊分页多表查询停车场信息
     * @param pageNum 当前页码
     * @param code 车位编号（模糊查询）
     * @param status 车位状态（模糊查询）
     * @param description 区域描述（模糊查询）
     * @return 分页结果
     */
    PageInfo<ParkingSpacesParkingRecordsVehicles> findParkingInfoByPage(
            Integer pageNum,
            String code,
            Integer status,
            String description
    );
    
    /**
     * 查询全部停车位数据
     * @return 所有停车位信息列表
     */
    List<ParkingSpaces> findAllParkingSpaces();
    
    /**
     * 查询status分别为0,1,3的数据的总数量
     * @return 各状态数量的Map，key为status值，value为数量
     */
    Map<Integer, Integer> findStatusCount();
}